Automatic user availability status determination for a handheld communication device

ABSTRACT

To automatically determine the availability status of the user of a handheld communication device, various selected conditions of the device may be checked, which imply whether or not the user is likely Available, or Unavailable or the equivalent. Normally, the selected conditions are checked only if the user has not explicitly or semi-explicitly set his or her status to Unavailable. The conditions to be checked can vary widely, but generally include anything from which it might be inferred or implied that the user is likely either Available or Unavailable or the equivalent. Such conditions can include, for example, whether or not a specified timeout for use of a keypad, trackwheel or other mechanical feature of the device has elapsed yet; whether or not a real-time application is in use; and preferably any one or more of a variety of other conditions, one further example being whether or not there are any unattended-to notifications such as an unanswered phone call, or a missed e-mail, SMS or other message.

REFERENCE TO RELATED APPLICATIONS

This is a divisional of U.S. patent application Ser. No. 11/048,716,filed Feb. 3, 2005, which claims the benefit of Provisional ApplicationNo. 60/607,758, filed Sep. 8, 2004, the contents of all of which areexpressly incorporated herein by reference.

FIELD

This application relates to handheld communication devices, and inparticular to a method for automatically determining the availabilitystatus of a user of a handheld communication device.

BACKGROUND

There are handheld communication device applications in which updateduser availability status information is important. Instant messaging isa good example of such an application. A user expects answers mostly inreal time (unlike SMS, for example), so it is critical to know otherparty's availability status at the time when the user sends his or herinstant message. Most instant messaging allow the user to explicitly sethis or her availability status. Most such applications also provide animplicit way for the client application to say whether the user isavailable or not. Usually the user availability status is changed by adesktop application based on whether the keyboard has remained idle fora certain period of time. However, this approach is not relevant forsome handheld communication devices, such as when the device is in itsholster, for example. The user may be actually available for responses,and just in a waiting mode, with the device idle. The implicit orautomatic approach that is used by a desktop client is therefore notapplicable to such devices.

SUMMARY

In view of the above, it is an object of embodiments herein to providean improved method for determining the availability status of a user ofa handheld communication device.

Thus according to an aspect herein, a method is provided forautomatically determining user availability status. Various selectedconditions of the device may be checked, which imply whether or not theuser is likely Available, or else Unavailable.

According to a further aspect, preferably the selected conditions arechecked only if the user has not explicitly or semi-explicitly set hisor her status to Unavailable. In such a case, checking would be clearlyredundant, since the user has clearly indicated a desire to override anyautomatic determination.

The conditions to be checked can vary widely, but generally includeanything from which it might be inferred or implied that the user islikely either Available or Unavailable. Such conditions can include, forexample, whether or not a specified timeout for use of a keypad,trackwheel or other mechanical feature of the device has elapsed yet;whether or not a real-time application is in use (a phone or gamesapplication, for example); and preferably any one or more of a varietyof other conditions, one further example being whether or not there areany unattended-to notifications such as an unanswered phone call, or amissed e-mail, SMS or other message.

Further aspects will be described or will become apparent in the courseof the following detailed description.

Throughout this specification, the terms Available and Unavailable areused for convenience. Of course it should be clearly understood that theterms used may vary among devices and from company to company within theindustry, and the embodiments herein apply regardless of what actualterms are used to describe the states herein designated as Available andUnavailable. Without limiting the generality of the foregoing,alternative expressions such as “busy” or “unreachable” or“inaccessible” could be used, for example.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and embodiments will now be described with reference to theaccompanying drawings, in which:

FIG. 1 is a block diagram showing an example flow of a method forchecking user availability status;

FIG. 2 is a block diagram showing an alternative example of the method;and

FIG. 3 is a block diagram showing a more specific example of the method.

DETAILED DESCRIPTION

FIG. 1 shows a block diagram illustrating the principle of embodimentsherein. From an entry point 1, the method checks at box 2 for any one ormore of a number of possible conditions which might reasonably implythat the user is Unavailable. If one of those conditions applies, thenthe user availability status is set to Unavailable at box 3 and there isa Check Later at box 4 to see if that is still the case. Otherwise, theuser availability status is set to Available at box 5, and there is acheck again later at box 4, or instead via box 4′ if a different timeinterval was desired than the time interval of box 4.

In the FIG. 1 example, the method is invoked only if the user has notexplicitly set his or her status to Unavailable (via a Do Not Disturboption or setting or button, for example). Similarly, if the user has“semi-explicitly” set his or her status to Unavailable, for example byselecting a “Quiet” or other profile which implies Unavailable or whichhas Unavailable associated with it by default or by user selection, thenthe method is not invoked, i.e. there is no path to entry point 1. Thecheck for this explicit or semi-explicit setting takes place outside theexample.

In FIG. 2, an alternative is shown, in which checking for an explicit orsemi-explicit Unavailable setting takes place within the example. Fromthe entry point 1, that is the first condition which is checked, at box6. If there is an explicit or semi-explicit Unavailable setting, thenthere is just a Check Later at box 4 or box 4″, to see if that is stillthe case. Otherwise, the rest of the method proceeds as in FIG. 1.

FIG. 3 shows a particular example of the method. This example followsthe model of FIG. 2, but could also follow the model of FIG. 1, i.e.with respect to whether or not the check for explicit or semi-explicitUnavailable status takes place within the method or elsewhere. In FIG.3, boxes 21, 22 and 23 correspond to box 2 in FIGS. 1 and 2, and providespecific examples of conditions which could be checked in making anautomatic user status determination.

Preferably the method first checks at box 21 to see if the elapsed timefrom last use of a keyboard or trackwheel or possibly some othermechanical feature of the device is greater than some defined timeout,15 to 30 minutes for example. If not, then the user availability statusis set to or left at Available, i.e. he or she is considered to beAvailable in view of current or recent use of the device.

If the timeout has elapsed, then preferably the method next checks atbox 22 to see if a real-time application such as a phone or game is inuse. If so, the user availability status is set to or left at Available,i.e. he or she is considered to be likely Available, just temporarilyoccupied.

If there is no real-time application in use, then preferably the methodnext checks at box 23 for any one of a number of possible additionalconditions which might indicate or imply that the user is Unavailable.For example, the method could check for any of the following:

-   -   a. Unattended-to notifications: if there are notifications, for        example an unanswered phone call, or a missed e-mail, SMS or        other message, which the user has not responded to;    -   b. A Calendar event, indicating a contemporaneous appointment;    -   c. An event which the device recognizes as the user indicating        temporary unavailability. For example, in some devices, the        action of removing the device from a holster and immediately        replacing it (“click-click”) may be deemed to be a signal that        the user doesn't want to accept any notifications;    -   d. The device being locked;    -   e. The time being within the user's indicated normal sleep or        off-duty hours;    -   f. The battery being low, in which case the user may wish to be        considered Unavailable, to preserve the battery for other uses;    -   g. The user being out of the coverage area; and    -   h. Anything else relevant to the particular device, that might        logically indicate Unavailable.

It should be clearly understood that the above is a list of examplesonly, and the manner in which the method is applied may varyconsiderably. For some devices, some of the above options may not beapplicable, or there may be some options available which are not listed.And for some devices, even if the options are available, a decision maybe made that only one or a few options will be checked. For example, itmay be decided just to check whether the timeout has elapsed, if socheck whether a real-time application is in use, and if not check forany unattended-to notifications.

If one of the conditions checked for does indeed apply, then the useravailability status is set to Unavailable at box 3. Otherwise, it is setto Available at box 5. In either event, the method then routes to theCheck Later box 4.

Especially if it is decided that the system will be set up to check anumber of conditions, it makes sense to first check if a real-timeapplication is in use, as in the preceding. However, that is notstrictly a requirement herein. It is merely preferable, before usingresources to check for other conditions. In general, it makes sense,where there are multiple conditions to be checked, to check them in theorder of highest probability, though not mandatory.

The consequences of the device being deemed Available or Unavailabledepend on specific applications and specific implementations, and canvary. That is outside the scope of the application itself. Theconsequences can be established by either the user's device, or a peerdevice, or both of them. For example, the user might not be able to senda message to someone who is Unavailable, or, as another example, theuser may still be able to send the message, but the peer device will notnotify the user if the peer device is Unavailable. The behavior may befixed, or preferably can be defined through user options.

Those who are knowledgeable in the field will appreciate that there maybe obvious variations to the preceding. Accordingly, the invention isdefined not by the above specific examples, but by the claims whichfollow.

1. A method for determining the availability status of a user of ahandheld communication device, the method comprising: checking if aninterval between when the handheld device is removed from a holster andreturned to the holster is less than a predetermined threshold; and ifthe interval is less than the threshold, determining the availabilitystatus as Unavailable.
 2. A method as in claim 1, further comprisingchecking whether or not the availability status has been explicitly orsemi-explicitly set to Unavailable, and if so, bypassing the checking ifthe interval is less than the predetermined threshold.
 3. A method as inclaim 2, wherein, after bypassing, there is no further checking untilwhen and if the availability status is set to Available.
 4. A method asin claim 2, wherein, after bypassing, there is no further checking untila second predetermined time interval has passed.
 5. A handheldcommunication device provided with a computer-readable medium containinginstructions, which, when executed by the handheld communication device,cause the handheld communication device to perform a method fordetermining the availability status of a user of the device, the methodcomprising: checking if an interval between when the handheld device isremoved from a holster and returned to the holster is less than apredetermined threshold; and if the interval is less than the threshold,determining the availability status as Unavailable.
 6. A handheldcommunication device as in claim 5, wherein the method further compriseschecking whether or not the availability status has been explicitly orsemi-explicitly set to Unavailable, and if so, bypassing the checking ifthe interval is less than the predetermined threshold.
 7. A handheldcommunication device as in claim 6, wherein. after bypassing, there isno further checking of availability status until when and if theavailability status is set to Available.
 8. A handheld communicationdevice as in claim 6, wherein after bypassing, there is no furtherchecking of availability status until a second predetermined timeinterval has passed.
 9. A method for determining the availability statusof a user of a handheld communication device, the method comprising:checking if an interval between when the handheld device is removed froma holster and returned to the holster is less than a predeterminedthreshold; if the interval is less than the threshold, determining theavailability status as Unavailable; and communicating the availabilitystatus via a network with which the handheld communication device is incommunication.